1. Field of the Invention
The present invention relates to a method and an apparatus for generating machine-processable semantics used for resource management of application domains.
2. Description of Background
The term application domain is used in the context of this document in order to refer to an application landscape management domain. An application landscape management domain can be regarded as an entity through which on-demand services of an on-demand information technology (IT) infrastructure are provided to one or more client systems that make use of these services.
On-demand services are provided by a technology called on-demand computing or utility computing, also known as cloud computing. Utility computing relates to the provision of computing resources, such as computation and storage, as a metered service to clients similar to a physical public utility such as for example water or natural gas. Utility computing provides the advantage of a low or no initial cost to acquire hardware. Instead, computational resources are essentially rented. Customers with very large computations or a sudden peak in demand can also avoid the delays that would result from physically acquiring and assembling a large number of computers.
Conventional internet hosting services have the capability to quickly arrange for the rental of individual servers, for example to provide a bank of web servers to accommodate a sudden surge in traffic to a web site.
“Utility computing” usually envisions some form of virtualization so that the amount of storage or computing power available is considerably larger than that of a single time-sharing computer. Multiple servers are used on the “back end” to make this possible. This might be a dedicated computer cluster specifically built for the purpose of being rented out, or even an under-utilized supercomputer. The technique of running a single calculation on multiple computers is known as distributed computing.
The term “grid computing” is often used to describe a particular form of distributed computing, where the supporting nodes are geographically distributed or across administrative domains. To provide utility computing services, a company can “bundle” the resources of members of the public for sale, who might be paid with a portion of the revenue from clients.
Today's IT infrastructure resources are composed of a large number of heterogeneous, distributed resources. The key to build on-demand IT infrastructures from the heterogeneous and distributed resources is to provide means for managing these resources through a common, standards based interoperability between resources.
The Web Services Resource Framework (WSRF) introduces a technology to encapsulate each kind of resources behind web services interfaces. WSRF concentrates on the stateful characteristics of IT resources, for example the CPU temperature of a computer system. The states of resources are referred to as so-called resource properties. The sum of all resource properties for a specific resource is contained in the resource properties document which is a virtual XML document. WSRF defines a WS-resource as a stateful web service that is associated with a resource properties document describing its state. Resource properties and the whole resource properties document can be retrieved by standard web service calls defined by WSRF.
The web services stack includes the specification ‘web services addressing’ (WS-Addressing). It introduces the concept of endpoint reference (EPR) in order to normalize the addressing information typically provided by transport protocols and messaging systems. An EPR is an XML fragment that conveys the information that is needed to address a web service endpoint.
Web Services Distributed Management (WSDM) is a standard on top of WSRF that consists of two parts: a first part relates to the so-called Management using Web Services (MuWS) which is used to address basic mechanisms and message exchange patterns for managing WS-resources using web services as a communication protocol. It also defines relationships between WS-resources as a special kind of resource property. The second part relates to the so-called management of web services (MoWS) which deals with the management of web services itself that represent WS-resources. It can be viewed as both, an implementation and an extension of MuWS.
The core concept of WSDM is the so-called manageable resource (MR). A manageable resource is a WSRF WS-resource that offers a plurality of capabilities standardized within the WSDM specification. A manageable resource has three important documents associated with it. A WSDL document describes the manageable resource as a web service with an interface. The acronym WSDL refers to the web service definition language. Further, an XML schema document describes the structure of the resource properties document. Finally, the resource properties document itself describes the current state of the manageable resource in terms of values of the resource properties. A so-called manageability consumer can access the manageable resource using the predefined message exchange patterns that are defined as part of the specification of the capabilities. WSDM however only defines the interaction protocols with manageable resources. It does not define any standards for the implementation of manageable resources and the corresponding runtime requirements.
WS-Management describes a general SOAP-based protocol for managing systems like computer systems, devices, applications and other manageable entities. WS-management identifies a core set of web services specifications, usage requirements and a common set of operations that are central to all systems management. WS-management includes specifications for discovery and grouping of resources, setting and getting of properties, notification, and execution of specific management methods. In particular, it defines and recommends minimal implementation requirements for conformant web services implementations.
The Resource Description Framework (RDF) is a standard for symbolic knowledge representation in the semantic web. It is a framework for representing information about resources. Information is expressed at lowest granularity in form of RDF statements with a subject, a predicate, and an object. The three parts of the RDF statement are URI references (URIrefs) a special kind of URI with optional fragment identifiers that allow addressing instances within a base URI. Using URI references for subject, predicate, and partly object of statements, RDF supports the use of shared vocabularies for describing resources. Predicates and resources are defined in shared vocabularies and referenced in URIrefs of RDF statements. RDF is based on the graphical RDF graph model which defines an RDF graph as a collection of RDF statements. There are several representation formats for RDF graphs. RDF/XML provides syntax to serialize RDF graphs as XML documents. It comprises a predefined vocabulary that is used to render RDF graphs in XML.
RDF comes along only with a rudimentary vocabulary. The domain-specific vocabulary used to describe resources of an application domain is intended to be declared somewhere outside of RDF and then referenced from the RDF statements. One aspect of such ontology is to provide a domain-specific vocabulary. It provides terms in which resources are described and constitutes context that adds semantics to the descriptions. An ontology is a hierarchical and related structure of concepts that can be identified in a domain together with additional information that nearer describes the concepts and how they are related to each other. The OWL Web ontology Language, for which the recursive acronym OWL is used, offers a vocabulary that builds upon RDF and RDF Schema and thus provides means to model sophisticated ontology's as RDF graphs.
WSRF and WSDM, the established technologies for defining and implementing manageable resources, operate on a syntactical level. The resource properties and relationships of a manageable resource are specified as XML elements in an XML schema document. The resource properties document describing the current state of the manageable resource is an XML document. It provides access to the resource properties on a syntactical level. Resource properties are XML elements that can be accessed through the names and that contain XML fragments or literal data such as values. The manageable resources operations are described in the WSDL document either on a syntactical level of input- or output-messages. No assertions about their semantics are made explicit except for their naming and documentation. This kind of information is not accessible for machines, for example for manageability consumers of the application domain.
The mentioned aspects of manageable resources, namely resource properties, relationships, their values and operations, are described only syntactically. No assertions about their semantics are made. Other aspects of manageable resources like the description of manageable resources itself containing entities are not formalized at all. This results in a lack of possibilities how client systems such as the above mentioned manageability consumer can access and manipulate manageable resources. Further, applications executed on the clients have no explicit domain model available that gives a description of the manageable resources of the application domain. Applications are only dealing with syntactical constructs and have to implicitly assume the semantics. They access resource properties by their names and get returned XML elements as values, process literal data, construct XML documents as messages and forward them to manageable resources operations. Consequently, it is desirable to have a method and apparatus that can describe at least one or more aspects of the manageable resources semantically.